const express = require('express');
const app = express();

const session = require('express-session');

const index = require('./routes/index')
const users = require('./routes/users')

// 配置中间件  
app.use(express.json()); // 用于解析JSON格式的请求体  
app.use(express.urlencoded({ extended: true })); // 用于解析URL编码格式的请求体 
app.use('/static', express.static('public'));

// 配置express session  
app.use(session({
    name: 'myc',
    secret: '123456',
    resave: false,  // 重新设置session后是否重新计算时间
    rolling: true,//刷新是否重新计算时间  
    saveUninitialized: false,  // 明确设置 saveUninitialized 选项为 false  
    cookie: {
        secure: false,//https协议生效
        maxAge: 1000
    }
}));

app.use((req, res, next) => {
    if (req.url.includes('login')) {
        next()
        return
    }
    if(req.session.userInfo){
        req.session.requstDate = Date.now()
        next()
    }else{
        res.redirect('/login')
    }

})

app.use(index)
app.use('/users', users)

// 配置模版引擎
app.engine("html", require("express-art-template"));
// 指定模板试图路径
app.set("views", "./views");
// 省略指定模板文件后缀名称（可选，在渲染时可以省略的后缀）
app.set("view engine", "html");

// 启动服务器并监听端口  
app.listen(3000, () => {
    console.log('服务器已启动，http://127.0.0.1:3000');
});